package qc.common.core.constants;

import java.nio.charset.Charset;
import java.nio.charset.StandardCharsets;

/**
 * 渠成-公用静态定义
 *
 * @author QuCheng Tech
 */
public interface QCConstant {
    /**
     * 应用程序中的提示信息前缀，在返回信息为String类型时，如使用该前缀表示错误提示信息
     */
    String APP_PROMPT_PREFIX = "@@QC_APP_PROMPT@@";

    /**
     * UTF8编码
     */
    Charset CHARSET_UTF8 = StandardCharsets.UTF_8;

    /**
     * 文件目录的分隔符--单-上斜线；前端（vue-router）中路由的分割符；
     * <p>在linux系统中使用斜线/分割路径；在windows系统中反斜线\分割路径，使用斜线/也正常；</p>
     * <p>程序中一般使用反斜线\表示转义字符，因此为保证windows和linux中均能正常统一使用斜线/</p>
     */
    String ROUTE_SPLIT = "/";

    /**
     * 分页--默认的页码，默认为第1页
     */
    int PAGEING_DEFAULT_PAGE_NUM = 0X1;

    /**
     * 分页--默认的每页数量，默认为10
     */
    int PAGEING_DEFAULT_PAGE_SIZE = 0XA;

    /**
     * 分隔符--分隔符字符串，英文状态下的逗号
     */
    String SPLIT_STRING = ",";

    /**
     * 分隔符--分隔符字符串集合，英文或中文状态下的逗号
     */
    String[] SPLIT_STRINGS = new String[]{",", "，"};

    /**
     * 父子级标识字符串-- 英文状态下的大于号
     */
    String CHILD_STRING = ">";

    /**
     * 同级连接字符串-- 英文状态下的与符号 &
     */
    String BROTHER_CONCAT_STRING = "&";

    /**
     * 标识所有字符串-- 英文状态下的与符号 *
     */
    String ALL_STRING = "*";
}
